Skip to content

XBRL Dimensions

The XBRL Dimensions specification (1.0, published 2006) extends the base XBRL 2.1 model to allow multi-dimensional reporting.

Why Dimensions?

XBRL 2.1 provides three fixed reporting axes:

  1. Concept -- what is being reported
  2. Period -- when
  3. Entity -- who

But financial data often needs more axes. For example, "Revenue by Geographic Region" or "Assets by Business Segment". Dimensions provide these additional axes.

Key Components

Hypercubes

A hypercube is a collection of dimensions forming an n-dimensional space.

  • Declared in the definition linkbase
  • Positive hypercube (arcrole all) -- facts MUST use only these dimensions
  • Negative hypercube (arcrole notAll) -- facts must NOT use these dimensions

Best practice:

  • Positive hypercubes should be closed (no extra dimensions allowed)
  • Negative hypercubes should be open

Explicit Dimensions

Dimensions with a known, enumerated set of members defined in the taxonomy.

Structure:

Dimension: GeographicAreas
└── Domain: GeographicAreasDomain
    ├── SouthAfrica
    ├── Europe
    │   ├── UnitedKingdom
    │   └── Germany
    └── NorthAmerica
        ├── UnitedStates
        └── Canada

In instance documents:

xml
<xbrli:segment>
  <xbrldi:explicitMember dimension="ifrs:GeographicAreas">
    ifrs:SouthAfrica
  </xbrldi:explicitMember>
</xbrli:segment>

Members can be:

  • Usable -- can appear in reported facts
  • Non-usable -- structural only (grouping nodes)

Typed Dimensions

Dimensions where members cannot be enumerated in advance.

Use cases: loan IDs, policy numbers, counterparty identifiers, individual property addresses.

In instance documents:

xml
<xbrli:segment>
  <xbrldi:typedMember dimension="cipc:LoanIdentifier">
    <cipc:identifier>LOAN-12345</cipc:identifier>
  </xbrldi:typedMember>
</xbrli:segment>

The domain is defined by a type constraint in the schema, not by listed members.

Dimension Defaults

A default member is assumed when a dimension is not explicitly reported for a fact.

  • Must be defined as usable
  • Should never be overridden in extension taxonomies (changes the meaning of existing data)
  • Example: "Total" might be the default for a "Geographic Areas" dimension, so a fact without any geographic dimension tag is assumed to be the total

Dimension Containers

Dimensional data is reported inside either:

  • <xbrli:segment> (inside entity) -- most common
  • <xbrli:scenario> (sibling of entity and period)

The choice is semantically arbitrary; consistency matters more than which one you pick.

How Dimensions Are Defined

All defined in the definition linkbase using these arcroles:

Primary Item ──(all)──→ Hypercube ──(hypercube-dimension)──→ Dimension

                                                    (dimension-domain)


                                                              Domain

                                                    (domain-member)

                                                          ┌──────┼──────┐
                                                          ↓      ↓      ↓
                                                       Member  Member  Member

Practical Example

Reporting "Revenue = R5M for South Africa, FY2024":

The fact combines:

  • Concept axis: Revenue
  • Period axis: 2024-01-01 to 2024-12-31
  • Entity axis: CompanyXYZ
  • Geographic dimension: SouthAfrica (the added dimension)